8037e4fc: 24 0e ff ff  ADDIU t6, r0, 0xffffffff (-1)
8037e500: 3c 01 80 39  LUI at, 0x8039 (32825)
8037e504: a4 2e be 20  SH t6, at, 0xffffbe20 (-16864)      *(0x8038be20) = -1;

8037e508: 3c 0f 80 39  LUI t7, 0x8039 (32825)
8037e50c: 95 ef b8 a8  LHU t7, t7, 0xffffb8a8 (-18264)
8037e510: 15 e0 00 07  BNE t7, r0, 0x8037e530 (pc + 0x1c)  if (*(0x8038b8a8) != 0) goto 0x8037e530;
8037e514: 00 00 00 00  NOP

8037e518: 3c 18 80 39  LUI t8, 0x8039 (32825)
8037e51c: 8f 18 be 28  LW t8, t8, 0xffffbe28 (-16856)
8037e520: 3c 01 80 39  LUI at, 0x8039 (32825)
8037e524: 87 19 00 02  LH t9, t8, 0x2 (2)
8037e528: 10 00 00 11  BEQ r0, r0, 0x8037e570 (pc + 0x44)  *(0x8038b8a8) = lvlloadwp->off0x02;
8037e52c: a4 39 b8 a8  SH t9, at, 0xffffb8a8 (-18264)      goto 0x8037e570;

*
8037e530: 3c 08 80 39  LUI t0, 0x8039 (32825)
8037e534: 95 08 b8 a8  LHU t0, t0, 0xffffb8a8 (-18264)
8037e538: 3c 01 80 39  LUI at, 0x8039 (32825)
8037e53c: 25 09 ff ff  ADDIU t1, t0, 0xffffffff (-1)
8037e540: 31 2a ff ff  ANDI t2, t1, 0xffff (65535)
8037e544: 15 40 00 0a  BNE t2, r0, 0x8037e570 (pc + 0x28)  if (--(*(0x8038b8a8) & 0xffff) != 0) goto 0x8037e570;
8037e548: a4 29 b8 a8  SH t1, at, 0xffffb8a8 (-18264)

8037e54c: 3c 0b 80 39  LUI t3, 0x8039 (32825)
8037e550: 8d 6b be 28  LW t3, t3, 0xffffbe28 (-16856)
8037e554: 3c 01 80 39  LUI at, 0x8039 (32825)
8037e558: 91 6c 00 01  LBU t4, t3, 0x1 (1)
8037e55c: 01 6c 68 21  ADDU t5, t3, t4
8037e560: ac 2d be 28  SW t5, at, 0xffffbe28 (-16856)      /* adv wp */

8037e564: 24 0e 00 01  ADDIU t6, r0, 0x1 (1)
8037e568: 3c 01 80 39  LUI at, 0x8039 (32825)
8037e56c: a4 2e be 20  SH t6, at, 0xffffbe20 (-16864)      *(0x8038be20) = 1;

**
8037e570: 03 e0 00 08  JR ra
8037e574: 00 00 00 00  NOP


*(0x8038be20) = -1;
if (*(0x8038b8a8) == 0) {
    *(0x8038b8a8) = lvlloadwp->off0x02;
} else {
    if (--(*(0x8038b8a8) & 0xffff) == 0) {
        /* adv wp */
        *(0x8038be20) = 1;
    }
}
